package com.dl.test.mapper;

import com.alibaba.fastjson.JSONObject;
import com.dl.test.pojo.User;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @author DL
 * @create 2022-08-26 17:49
 */
@Mapper
public interface UserMapper {


    /**
     * 增加用户
     * @return 受影响的行数
     */
    int insertUser(User user);

    /**
     * 根据 用户id 删除用户
     *
     * @param userId 用户id
     * @return int
     * @author DL
     * @date 2022/08/26
     */
    int deleteUserById(String userId);

    /**
     * 更新用户信息
     *
     * @param user 信息
     * @return int
     * @author DL
     * @date 2022/08/26
     */
    int updateUserInfo(User user);


    /**
     * 根据 用户id 查询用户
     *
     * @param userId id
     * @return {@link User }
     * @author DL
     * @date 2022/08/26
     */
    User selectUserByUserId(String userId);

    /**
     * 查询全部
     *
     * @return {@link User }
     * @author DL
     * @date 2022/08/26
     */
    List<User> selectUser();

    /**
     * 根据 条件 查询用户列表
     *
     * @param condition 条件
     * @return {@link List }<{@link User }>
     * @author DL
     * @date 2022/08/26
     */
    List<User> selectUserByCondition(JSONObject condition);

}
